Geomagnetic sensor and azimuth calculation method thereof

ABSTRACT

A geomagnetic sensor with 3-axis acceleration sensors is provided. The geomagnetic sensor a geomagnetic measurement module including flux gates of X, Y and Z axes mutually crossing at right angles, a tilt measurement module including acceleration sensors of X, Y and Z axes mutually crossing at right angles, a tilt calculator primarily calculating a pitch angle and a roll angle using output values of each acceleration sensors of the X and Y axes, and performing second calculation by adjusting at least one of the primarily calculated pitch angle and roll angle using an output value of the acceleration sensor of the Z axis, and a controller calculating an azimuth using the readjusted pitch angle and roll angle and an output value of the geomagnetic measurement module. Accordingly, the pitch angle and roll angle are precisely measured to calculate the azimuth.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of Korean Patent Application No. 2005-0113472, filed Nov. 25, 2005, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a geomagnetic sensor and an azimuth calculation method medium thereof. More particularly, the present invention relates to a geomagnetic sensor precisely calculating a pitch angle and a roll angle according to a region using 3-axis acceleration sensors to calculate an azimuth and an azimuth calculation method and medium thereof.

2. Description of the Related Art

A geomagnetic sensor is a device measuring the intensity and direction of geomagnetism, which a human can not feel, and more particularly, a sensor measuring the geomagnetism using a flux gate is called a flux gate geometric sensor.

The flux gate geometric sensor is a device measuring the intensity and direction of an external magnetic field by using a high permeability material such as permalloy as a magnetic core, adding excitation magnetic field through a coil winding the magnetic core, and measuring second harmonic component proportional to the external magnetic field generated according to magnetic saturation of the magnetic core and non-linear magnetic features. The flux gate geometric sensor was developed in the late 1930s and is good in sensitivity, cost-effective and miniaturized, compared with many kinds of other geomagnetic sensors.

Especially, as a micro electro mechanical system (MEMS) technology is nowadays developing, a micro flux gate sensor with low power consumption can be equipped in various portable electronic devices including a cell phone, personal digital assistant (PDA) and laptop computer using the technology.

Meanwhile, the geomagnetic sensor generally uses a 2 or 3 axis flux gate. When an azimuth is measured using the geomagnetic sensor, if the geomagnetic sensor is tilted, the azimuth can be miscalculated. Accordingly, an algorithm compensating the azimuth using a tilt angle, that is, a pitch angle and a roll angle is generally performed. Therefore, a conventional geomagnetic sensor calculates the pitch angle and the roll angle using 2-axis acceleration sensors to compensate the azimuth. In this case, the range of measuring a tilt is limited to ±90°.

In addition, the conventional geomagnetic sensor calculates the pitch angle and the roll angle by applying a function of sin⁻¹ ( ) to a value of X axis and a value of Y axis of the acceleration sensor. However, if the tilt is over 60°, the tilt of a signal gets flat because of the nature of a sine function. In this case, if the resolving power of an analog to digital converter (ADC) converting an output value of the acceleration sensor into a digital value is not high enough, a tilt angle can not precisely be acquired. Specifically, if the tilt is over +90°, for example, if the tilt is 120°, +60° instead of +120° is recognized.

So, if an error occurs in the calculated pitch angle value and roll angle value, azimuth compensation does not work well so that the azimuth itself is miscalculated.

SUMMARY OF THE INVENTION

Additional aspects and/or advantages of the invention will be set forth in part in the description which follows and, in part, will be apparent from the description, or may be learned by practice of the invention.

An aspect of the present invention is to solve at least the above problems and/or disadvantages and to provide at least the advantages described below. Accordingly, an aspect of the present invention is to provide a geomagnetic sensor, which primarily calculates a pitch angle and a roll angle using 3-axis acceleration sensors, calculates the precise pitch angle and roll angle by readjusting the pitch angle and the roll angle using an output value of acceleration sensor of Z axis, and precisely compensates an azimuth using the pitch angle and the roll angle, and an azimuth calculation method thereof.

In order to achieve the above-described aspects of the present invention, there is provided a geomagnetic sensor, including a geomagnetic measurement module including flux gates of X, Y and Z axes mutually crossing at right angles, a tilt measurement module including acceleration sensors of X, Y and Z axes mutually crossing, at right angles, a tilt calculator primarily calculating a pitch angle and a roll angle using output values of each acceleration sensors of the X and Y axes, and performing second calculation by adjusting at least one of the primarily calculated pitch angle and roll angle using an output value of the acceleration sensor of the Z axis, and a controller calculating an azimuth using the readjusted pitch angle and roll angle and an output value of the geomagnetic measurement module.

The tilt measurement module may normalize the output values of each acceleration sensor of the X, Y and Z axes into values of a preset range, and transmit the normalized values to the tilt calculator.

The tilt calculator may primarily calculate θ_(X) φ_(Y) θ_(Z), and φ_(Z) using the acceleration sensors of X, Y and Z axes.

The tilt calculator can perform the second calculation in a manner that when the θ_(X) is between 0° and 45°, if the θ_(Z) is 0° or more, the θ_(X) becomes the pitch angle, or if the θ_(Z) is under 0°, 180°−θ_(X) becomes the pitch angle, when the θ_(X) is 45° or more, if φ_(Y) is under 45°, 90°−_(Z) becomes the pitch angle, or if the φ_(Y) is 45° or more, the θ_(X) becomes the pitch angle, when the θ_(X) is between −45° and 0°, if the θ_(Z) is 0° or more, the θ_(X) becomes the pitch angle, or if the θ_(Z) is under 0°, −180°−θ_(X) becomes the pitch angle, or when the θ_(X) is under −45°, if the φ_(Y) is under 45°, θ_(Z)−90° becomes the pitch angle, or if the φ_(Y) is 45° or more, the θ_(X) becomes the pitch angle.

Meanwhile, the tilt calculator may perform the second calculation in a manner that when the φ_(Y) is between 0° and 45°, if the φ_(Z) is 0° or more, the φ_(Z) becomes the roll angle, or if the φ_(Z) is under 0°, 180°−φ_(Y) becomes the roll angle, when the φ_(Y) is 45° or more, if the φ_(X) is under 45°, 90°−φ_(Z) becomes the roll angle or if the θ_(X) is 45° or more, the φ_(Y) becomes the roll angle, when the φ_(Y) is between −45° and 0°, if the φ_(Z) is 0° or more, the φ_(Y) becomes the roll angle, or if the φ_(Z) is under 0°, −180°−φ_(Y) becomes the roll angle, or when the φ_(Y) is under −45°, if the θ_(X) is under 45°, φ_(Z)−90° becomes the roll angle, or if the θ_(X) is 45° or more, the φ_(Y) becomes the roll angle.

The geomagnetic measurement module may normalize the output values of each flux gate of the X, Y and Z axes into values of a preset range, and provides the normalized values to the controller.

The controller calculates the azimuth by applying the normalized output values of each flux gate of the X, Y and Z and the readjusted pitch angle and roll angle to a predetermined equation.

A method and medium of calculating an azimuth according to an embodiment of the present invention includes (a) calculating output values of flux gates of X, Y and Z axes using the flux gates of the X, Y and Z axes mutually crossing at right angles, (b) primarily calculating a pitch angle and a roll angle using acceleration sensors of X, Y and Z axes mutually crossing at right angles, (c) adjusting at least one of the primarily calculated pitch angle and roll angle using an output value of the acceleration sensor of the Z axis, and (d) calculating the azimuth using the readjusted pitch angle and roll angle and an output value of a geomagnetic measurement module.

In the step of (b), the output values of each acceleration sensor of the X, Y and Z axes may be normalized into values of a preset range using predetermined equations.

In the step of (b), θ_(X) φ_(Y) θ_(Z), and φ_(Z) may primarily be calculated using the acceleration sensors of X, Y and Z axes.

In the step of (c), the pitch angle may be readjusted in a manner that when the ex is between 0° and 45°, if the θ_(Z) is 0° or more, the θ_(X) becomes the pitch angle, or if the θ_(Z) is under 0°, 180°−θ_(X) becomes the pitch angle, when the θ_(X) is 45° or more, if φ_(Y) is under 45°, 90°−θ_(Z) becomes the pitch angle, or if the φ_(Y) is 45° or more, the θ_(X) becomes the pitch angle, when the θ_(X) is between −45° and 0°, if the θ_(Z) is 0° or more, the θ_(X) becomes the pitch angle, or if the θ_(Y) θ_(Z) is under 0°, −180°−θ_(X) becomes the pitch angle, or when the θ_(X) is under −45°, if the φ_(Y) is under 45°, θ_(Z)−90° becomes the pitch angle, or if the φ_(Y) is 45° or more, the θ_(X) becomes the pitch angle.

In the step of (c), the roll angle may be readjusted in a manner that when the φ_(Y) is between 0° and 45°, if the φ_(Z) is 0° or more, the φ_(Z) becomes the roll angle, or if the φ_(Z) is under 0°, 180°−φ_(Y) becomes the roll angle, when the φ_(Y) is 45° or more, if the φ_(X) is under 45°, 90°−φ_(Z) becomes the roll angle, or if the θ_(X) is 45° or more, the φ_(Y) becomes the roll angle, when the φ_(Y) is between −45° and 0°, if the φ_(Z) is 0° or more, the φ_(Y) becomes the roll angle, or if the φ_(Z) is under 0°, −180°−φ_(Y) becomes the roll angle, or when the φ_(Y) is under −45°, if the θ_(X) is under −45°, φ_(Z)−90° becomes the roll angle, or if the θ_(X) is 45° or more, the φ_(Y) becomes the roll angle.

Meanwhile, in the step of (a), the output values of each flux gate of the X, Y and Z axes can be normalized into values of a preset range using predetermined equations.

In addition, in the step of (d), the azimuth can be calculated by applying the normalized output values of each flux gate of the X, Y and Z and the readjusted pitch angle and roll angle to predetermined equation:

BRIEF DESCRIPTION OF THE DRAWINGS

These and/or other aspects, features, and advantages of the invention will become apparent and more readily appreciated from the following description of exemplary embodiments, taken in conjunction with the accompanying drawings of which:

FIG. 1 is a block diagram showing the configuration of a geomagnetic sensor according to an exemplary embodiment of the present invention;

FIG. 2 is a block diagram showing an example of the configuration of the tilt measurement module used in the geomagnetic sensor of FIG. 1;

FIG. 3 shows an example of 3-axis location of the geomagnetic measurement module and the tilt measurement module in the geomagnetic sensor of FIG. 1;

FIGS. 4 and 5 show a readjusted region of a pitch angle and a roll angle, respectively;

FIG. 6 is a flow chart showing an azimuth calculation method according to an exemplary embodiment of the present invention;

FIG. 7 is a flow chart showing an example of a pitch angle calculation method used in the azimuth calculation method of FIG. 6; and

FIG. 8 is a flow chart showing an example of a roll angle calculation method used in the azimuth calculation method of FIG. 6.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Reference will now be made in detail to exemplary embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. Exemplary embodiments are described below to explain the present invention by referring to the figures.

Hereinafter, an exemplary embodiment of the present invention will be described in detail with reference to the accompanying drawing figures.

FIG. 1 is a block diagram showing the configuration of a geomagnetic sensor according to an exemplary embodiment of the present invention. According to FIG. 1, the geomagnetic sensor 100 includes a geomagnetic measurement module 110, a tilt measurement module 120, a tilt calculator 130 and a controller 140.

The geomagnetic measurement module 110 outputs a voltage value corresponding to an external geomagnetism. In detail, the geomagnetic measurement module 110 can include flux gates of X, Y and Z axes mutually crossing at right angles. Accordingly, an output value corresponding to the geomagnetism can be obtained by supplying an electric signal to each axis flux gate.

The tilt measurement module 120 outputs a voltage value corresponding to the tilt of the main body of the geomagnetic sensor 100. Specifically, the tilt measurement module 120 has acceleration sensors of X, Y and Z axes mutually crossing at right angles. Accordingly, an output value of acceleration sensor of each axis corresponding to the tilt can be obtained by supplying an electric signal to each axis acceleration sensor.

FIG. 2 is a block diagram showing an example of the configuration of the tilt measurement module 120. According to FIG. 2, the tilt measurement module 120 includes 3-axis acceleration sensors 122, a signal processor 123, a tilt measurement controller 124 and a memory 125.

The 3-axis acceleration sensors 122 consist of acceleration sensors of X, Y and Z axes mutually crossing at right angles.

The signal processor 123 converts output values of each acceleration sensor of X, Y and Z axes into a digital value, and transmits the digital value to the tilt measurement controller 124.

The tilt measurement controller 124 normalizes the output values of each acceleration sensor of X, Y and Z axes received from the signal processor 123 by mapping it with a value of a preset range. The normalization ranges from −1 to +1. The normalization can be performed as below.

$\begin{matrix} {{{AX}_{norm} = \frac{\left( {{AX}_{raw} - {AX}_{offset}} \right)}{{AX}_{Scale}}}{{AY}_{norm} = \frac{\left( {{AY}_{raw} - {AY}_{offset}} \right)}{{AY}_{Scale}}}{{AZ}_{norm} = \frac{\left( {{AZ}_{raw} - {AZ}_{offset}} \right)}{{AZ}_{Scale}}}} & \left\lbrack {{Equation}\mspace{20mu} 1} \right\rbrack \end{matrix}$

In Equation1, AX_(norm), AY_(norm) and AZ_(norm) are the normalized output value of each acceleration sensor of X, Y and Z axes respectively, AX_(raw), AY_(raw), and AZ_(raw) are the real output value of each acceleration sensor of X, Y and Z axes respectively, AX_(offset), AY_(offset) and AZ_(offset) are the preset offset value of each acceleration sensor of X, Y and Z axes respectively, and AX_(Scale), AY_(Scale) and AZ_(Scale) are the preset scale value of each acceleration sensor of X, Y and Z axes respectively.

As described above, to map the output values of each acceleration sensor of X, Y and Z axes from −1 to +1, if AX_(norm), AY_(norm) and AZ_(norm) are over +1, AX_(norm), AY_(norm) and AZ_(norm) may be fixed to +1, and if AX_(norm), AY_(norm) and AZ_(norm) are under −1, AX_(norm), AY_(norm) and AZ_(norm) may be fixed to −1.

For the offset value and scale value of each acceleration sensor, a value used in a previous normalization process can be stored in the memory 125 and be read for use.

Alternatively, the offset value and scale value can be calculated as below.

$\begin{matrix} \begin{matrix} {{{AX}_{offset} = \frac{\left( {{AX}_{\max} + {AX}_{\min}} \right)}{2}},} & {{AX}_{Scale} = \frac{\left( {{AX}_{\max} - {AX}_{\min}} \right)}{2}} \\ {{{AY}_{offset} = \frac{\left( {{AY}_{\max} + {AY}_{\min}} \right)}{2}},} & {{AY}_{Scale} = \frac{\left( {{AY}_{\max} - {AY}_{\min}} \right)}{2}} \\ {{{AZ}_{offset} = \frac{\left( {{AZ}_{\max} + {AZ}_{\min}} \right)}{2}},} & {{AZ}_{Scale} = \frac{\left( {{AZ}_{\max} - {AZ}_{\min}} \right)}{2}} \end{matrix} & \left\lbrack {{Equation}\mspace{20mu} 2} \right\rbrack \end{matrix}$

In Equation 2, AX_(max), AY_(max) and AZ_(max) are the maximum value of AX_(raw), AY_(raw) and AZ_(raw) respectively, and AX_(min), AY_(min) and AZ_(min) are the minimum value of AX_(raw), AY_(raw) and AZ_(raw) respectively. AX_(max), AY_(max), AZ_(max), AX_(min), AY_(min) and AZ_(min) can be generated by selecting the maximum and minimum values among AX_(raw), AY_(raw) and AZ_(raw) measured by rotating the geomagnetic sensor 100 at least once in a preparation step before azimuth measurement, and be stored in the memory 125. Accordingly, AX_(max), AY_(max), AZ_(max), AX_(min), AY_(min) and AZ_(min) can be read to use in the normalization process.

Returning to FIG. 1, the tilt calculator 130 receives the normalized output value of each acceleration sensor of X, Y and Z axes from the tilt measurement module 120, and primarily calculates the pitch angle and the roll angle. The pitch angle and roll angle are primarily calculated as follows.

$\begin{matrix} \begin{matrix} {\theta_{X} = {\sin^{- 1}\left( {AX}_{norm} \right)}} \\ {\phi_{Y} = {\sin^{- 1}\left( {{{AY}_{norm}/\cos}\;\theta_{X}} \right)}} \\ {\theta_{Z} = {{\sin^{- 1}\left( {AZ}_{mod} \right)}\left\{ {{wherein},\;{{AZ}_{mod} = \frac{{AZ}_{norm}}{\cos\;\phi_{Y}}}} \right\}}} \\ {\phi_{Z} = {{\sin^{- 1}\left( {{{AZ}_{mod}/\cos}\;\theta_{X}} \right)}\left\{ {{wherein},\;{{AZ}_{mod} = \frac{{AZ}_{norm}}{\cos\;\theta_{X}}}} \right\}}} \end{matrix} & \left\lbrack {{Equation}\mspace{20mu} 3} \right\rbrack \end{matrix}$

In Equation 3, θ_(X) is the pitch angle calculated using the acceleration sensor of X axis, φ_(Y) is the roll angle calculated using the acceleration sensor of Y axis, θ_(Z) is the pitch angle calculated using the acceleration sensor of Z axis, and φ_(Z) is the roll angle calculated using the acceleration sensor of Z axis.

Meanwhile, in Equation 3, cos φ_(Y) and cos θ_(X) are located in the denominator. Therefore, if θ_(X) or φ_(Y) is 90°, the denominator becomes 0 so that an error occurs. To prevent this, θ_(X) and φ_(Y) of 90° are replaced with 89° or 91°.

AX_(norm), AY_(norm), AZ_(norm), and AZ_(mod) are saturated not to be over the range of ±1. That is, to apply to Equation 3, over +1 is fixed to +1 and under −1 is fixed to −1.

Meanwhile, Equation 3 varies according to an exemplary embodiment. That is, θ_(Z) can be calculated using cos⁻¹(AZ_(norm)).

The tilt calculator 130 performs the secondary calculation to finalize the pitch angle and roll angle according to the size of the primarily calculated θ_(X), φ_(Y), θ_(Z) and φ_(Z). In detail, the tilt calculator 130 calculates the pitch angle by combination of θ_(X) and θ_(Z), and calculates the roll angle by combination of φ_(Y) and φ_(Z).

First, to calculate the pitch angle, the tilt calculator 130 determines if θ_(X) is between 0° and 45°. If θ_(X) is between 0° and 45°, it is determined if θ_(Z) is 0° or more. If θ_(Z) is 0° or more, θ_(Z) becomes the pitch angle. However, if θ_(Z) is under 0°, 180°−θ_(X) becomes the pitch angle. As described above, in the case of the function of sin⁻¹ ( ), the resolving power decreases on the basis of 45°. If the acceleration sensor of X axis is tilted on the basis of Y axis, Z axis becomes tilted. If the acceleration sensor of X axis is tilted by 45° or more, θ_(Z) becomes lower than 0° so that 180°−θ_(X) becomes a precise pitch angle. According to this theory, the secondary calculation for the pitch angle and roll angle can be performed using the pitch angle θ_(Z) and roll angle φ_(Z) measured by the acceleration sensor of Z axis.

Meanwhile, if θ_(X) is 45° or more, it is determined if φ_(Y) is 45° or more. If φ_(Y) is 45° or more, θ_(X) becomes the pitch angle. Or, if φ_(Y) is under 45°, 90°−θ_(Z) becomes the pitch angle.

If θ_(X) is between −45° and 0°, it is determined if θ_(X) is 0° or more. If θ_(Z) is 0° or more, θ_(X) becomes the pitch angle. Or, if θ_(Z) is under 0°, −180°−θ_(X) becomes the pitch angle.

If θ_(X) is under −45°, it is determined if φ_(Y) is 45° or more. If φ_(Y) is 45° or more, θ_(X) becomes the pitch angle. However, if φ_(Y) is under 45°, θ_(Z)−90° becomes the pitch angle. In this method, the pitch angle can finally be determined.

Next, to calculate the roll angle, first it is determined if φ_(Z) is between 0° and 45°. If φ_(Y) is between 0° and 45°, it is determined if φ_(Y) is 0° or more. If φ_(Z) is 0° or more, φ_(Z) becomes the roll angle. However, if φ_(Z) is under 0°, 180°−φ_(Y) becomes the roll angle.

Meanwhile, if φ_(Y) is 45° or more, it is determined if θ_(X) is 45° or more. If θ_(X) is 45° or more, φ_(Y) becomes the roll angle. However, if φ_(X) is under 45°, 90°−φ_(Z) becomes the roll angle.

Meanwhile, if φ_(Y) is between −45° and 0°, it is determined if φ_(Z) is 0° or more. If φ_(Z) is 0° or more, φ_(Y) becomes the roll angle. However, if φ_(Z) is under 0°, −180°−φ_(Y) becomes the roll angle.

Furthermore, if φ_(Y) is under −45°, it is determined if φ_(X) is 45° or more. If θ_(X) is 45° or more, φ_(Y) becomes the roll angle. However, if θ_(X) is under 45°, φ_(Z)−90° becomes the roll angle. In this method, the roll angle can finally be determined.

The controller 140 can calculate an azimuth using the secondarily calculated and readjusted pitch angle and roll angle. To calculate the azimuth, the geomagnetic measurement module 110 normalizes the output values of each flux gate of X, Y and Z axes using equations below to transmit to the controller 140.

$\begin{matrix} {{X_{norm} = \frac{\left( {X_{raw} - X_{offset}} \right)}{X_{Scale}}}{Y_{norm} = \frac{\left( {Y_{raw} - Y_{offset}} \right)}{Y_{Scale}}}{Z_{norm} = \frac{\left( {Z_{raw} - Z_{offset}} \right)}{Z_{Scale}}}} & \left\lbrack {{Equation}\mspace{20mu} 4} \right\rbrack \end{matrix}$

where X_(norm), Y_(norm) and Z_(norm) are the normalized output value of each flux gate of X, Y and Z axes respectively, X_(raw), Y_(raw) and Z_(raw) are the real output value of each flux gate of X, Y and Z axes respectively, X_(offset), Y_(offset) and Z_(offset) are the preset offset value of each flux gate of X, Y and Z axes respectively, and X_(Scale), Y_(Scale) and Z_(Scale) are the preset scale value of each flux gate of X, Y and Z axes respectively.

X_(offset), Y_(offset), Z_(offset), X_(Scale), Y_(Scale) and Z_(Scale) can be stored in the geomagnetic measurement module 110's own memory (not shown); or can directly be calculated using an equation of the same form of Equation 2. As the detailed configuration of the geomagnetic measurement module 110 is conventional and is similar to that of the tilt measurement module 120 in FIG. 2, a drawing and description of the geomagnetic measurement module 110 is omitted.

The controller 140 applies the readjusted pitch angle and roll angle and the normalized output value of each flux gate of X, Y and Z axes to the below equation to calculate the azimuth.

$\begin{matrix} {\psi = {\tan^{- 1}\left( \frac{{Y_{norm}*\cos\;\phi} - {Z_{norm}*\sin\;\phi}}{\begin{matrix} {{X_{norm}*\cos\;\theta} - {Y_{norm}*\sin\;\theta*\sin\;\phi} -} \\ {Z_{norm}*\sin\;\theta*\cos\;\phi} \end{matrix}} \right)}} & \left\lbrack {{Equation}\mspace{20mu} 5} \right\rbrack \end{matrix}$

In Equation 5, X_(norm), Y_(norm) and Z_(norm) are the normalized output value of each flux gate of X, Y and Z axes respectively, φ is the pitch angle, and φ is the roll angle. Equation 5 is an equation corresponding to when a value of Z axis vertical to a horizontal plane is set to a negative number. In other words, Equation 5 is effective in a case where the 3-axis geomagnetic sensor 100 is horizontally located on the earth surface of the 3-axis Northern Hemisphere as in FIG. 3 when the 3-axis geomagnetic sensor 100 is located as in FIG. 3. In this case, the normalized value of Z axis is obtained as a negative value.

Meanwhile, signs in Equations 3 and 5 change according to the location of the axes in the 3-axis flux gates of the geomagnetic measurement module 110 and the 3-axis acceleration sensors of the tilt measurement module 120. The signs in Equations 3 and 5, change in a case where the pitch angle is greater than 90° when the azimuth is calculated. For example, if the pitch angle is 120°, signals of X and Y axes of the signals of the geomagnetic sensor 100 change their signs, and the acceleration sensor changes θ=θ−180 to apply to the equations.

FIG. 3 shows an example of 3-axis location in the 3-axis flux gates and 3-axis acceleration sensors. According to FIG. 3, each X axis of the geomagnetic measurement module 110 and the tilt measurement module 120 in the geomagnetic sensor 100 is located in the forward direction of the geomagnetic sensor 100, each Y axis is located in the direction perpendicular to each X axis on the same flat where the geomagnetic sensor 100 is located, and each Z axis is located in the upward direction of the geomagnetic sensor 100, crossing with X and Y axes at right angles. Equations 3 and 5 are applied when 3 axes are located as in FIG. 3.

FIG. 4 is a graph entirely showing the region of the pitch angle. The region of the pitch angle is divided into 4 large regions P1˜P4 according to the size of θ_(X), and each large region is divided into 2 small regions a and b.

Accordingly, if it is 0°≦θ_(X)<45° and θ_(Z)≧0°, the region of the pitch angle is recognized as an a region of P1, that is, P1-a, and θ_(X) becomes the pitch angle. However, if it is 0°≦θ_(X)<45° and θ_(Z)<0°, the region of the pitch angle is recognized as P1-b and 180°−θ_(X) becomes the pitch angle.

If it is θ_(X)≧45° and θ_(Z)≧0°, the region of the pitch angle is recognized as P2-a and θ_(X) becomes the pitch angle. However, if it is θ_(X)≧45° and θ_(Z)<0°, the region of the pitch angle is recognized as P2-b and 90°−θ_(Z) becomes the pitch angle.

If it is −45°≦θ_(X)<0° and θ_(Z)<0°, the region of the pitch angle is recognized as P3-a and −180°−θ_(X) becomes the pitch angle. However, if it is −45°≦θ_(X)<0° and θ_(Z)≧0°, the region of the pitch angle is recognized as P3-b and θ_(X) becomes the pitch angle.

Meanwhile, if it is θ_(X)<−45°, the region of the pitch angle is recognized as the large region of P4. In this case, the small region is determined according to the size of θ_(Z). That is, if it is θ_(X)<−45° and θ_(Z)<0°, the region of the pitch angle is recognized as P4-a. If it is φ_(Y)≧45° in the region of P4-a, θ _(X) becomes the pitch angle, or if it is φ_(Y)<45° in the region of P4-a, θ _(Z)−90° becomes the pitch angle. However, if it is θ_(X)<−45° and θ_(Z)≧0°, the region of the pitch angle is recognized as P4-b. If it is φ_(Y)≧45° in the region of P4-b, θ _(X) becomes the pitch angle, or if it is φ_(Y)<45° in the region of P4-b, θ _(Z)−90° becomes the pitch angle.

FIG. 5 is a graph entirely showing the region of the roll angle. The region of the roll angle is divided into 4 large regions R1˜R4 according to the size of φ_(Y), and each large region is divided into 2 small regions a and b.

Accordingly, if it is 0°≦φ_(Y)<45° and φ_(Z)≧0°, the region of the roll angle is recognized as an a region of R1, that is, R1-a, and φ_(Y) becomes the roll angle. However, if it is 0°≦φ_(Y)<45° and φ_(Z)<0°, the region of the roll angle is recognized as R1-b and 180°−φ_(Y) becomes the roll angle.

If it is φ_(Y)≦45° and φ_(Z)≧0°, the region of the roll angle is recognized as R2-a and φ_(Y) becomes the roll angle. However, if it is φ_(Y)≧45° and φ_(Z)<0°, the region of the roll angle is recognized as R2-b and 90°−φ_(Y) becomes the roll angle.

If it is −45°≦φ_(Y)<0° and φ_(Z)<0°, the region of the roll angle is recognized as R3-a and −180°−φ_(Y) becomes the roll angle. However, if it is −45°≦φ_(Y)≦0° and φ_(Y)≧0°, the region of the roll angle is recognized as R3-b and φ_(Y) becomes the roll angle.

Meanwhile, if it is φ_(Y)<−45°, the region of the roll angle is recognized as the large region of R4. In this case, the small region is determined according to the size of φ_(Z). That is, if it is φ_(Y)<−45° and φ_(Z)<0°, the region of the roll angle is recognized as R4-a. If it is θ_(X)≧45° in the region of R4-a, coy becomes the roll angle, or if it is θ_(X)<45° in the region of R4-a, φ _(Z)−90° becomes the roll angle.

Meanwhile, if it is φ_(Y)<−45° and φ_(Z)≧0°, the region of the roll angle is recognized as R4-b. If it is θ_(X)≧45° in the region of R4-b, φ _(Y) becomes the roll angle, or if it is θ_(X)<45° in the region of R4-b, φ _(Z)−90° becomes the roll angle.

Referring to FIGS. 4 and 5, the pitch angle and roll angle can be measured in the range of ±180°.

FIG. 6 is a flow chart showing an azimuth calculation method according to an exemplary embodiment of the present invention. According to FIG. 6, the output values of each flux gate of X, Y and Z axes is calculated and normalized (S610), and the pitch angle and roll angle are primarily calculated using each acceleration sensor of X, Y and Z axes (S620). Specifically, θ_(X), φ_(Y), θ_(Z) and φ_(Z) are primarily calculated.

Subsequently, the second calculation is performed to readjust θ_(X), φ_(Y), θ_(Z) and φ_(Z) using the output value of the acceleration sensor of Z axis (S630).

As a result of the second calculation, if the pitch angle and roll angle are finalized, the azimuth is calculated using the readjusted pitch angle and roll angle and the normalized output value of each flux gate of X, Y and Z axes (S640). The azimuth can be calculated using Equation 5.

FIG. 7 is a flow chart specifically describing a pitch angle calculation method used in the azimuth calculation method of FIG. 6. According to FIG. 7, first the output values of each acceleration sensor of X, Y and Z axes is normalized by mapping it with a value of a predetermined range (S710). The normalization can be performed using Equation 1.

As a result, if θ_(X), φ_(Y), θ_(Z) and φ_(Z) are primarily calculated (S715), it is determined if θ_(X) is between 0° and 45° (S720). If θ_(X) is between 0° and 45°, it is determined if θ_(Z) is 0° or more (S725). If θ_(Z) is 0° or more, θ_(X) becomes the pitch angle (S730). However, if θ_(Z) is under 0°, 180°−θ_(X) becomes the pitch angle (S735).

Meanwhile, if θ_(X) is not between 0° and 45°, it is determined if θ_(X) is 45° or more (S740). As a result, if θ_(X) is 45° or more, it is determined if φ_(Y) is under 45° (S745). If φ_(Y) is under 45°, 90°−θ_(Z) becomes the pitch angle (S750). Or, if φ_(Y) is 45° or more, θ_(X) becomes the pitch angle (S755).

Meanwhile, if θ_(X) is neither between 0° and 45° nor 45° or more, it is determined if θ_(X) is between −45° and 0° (S760). If θ_(X) is between −45° and 0°, it is determined if θ_(Z) is 0° or more (S765). If θ_(Z) is 0° or more, θ_(X) becomes the pitch angle (S770). Or, if θ_(Z) is under 0°, −180°−θ_(X) becomes the pitch angle (S775).

Meanwhile, if θ_(X) is not between −45° and 0°, either, it is determined if θ_(X) is under −45° (S780). Also, it is determined if θ_(Y) is under 45° (S785). If φ_(Y) is under 45°, θ_(Z)−90° becomes the pitch angle (S790). Or, if φ_(Y) is 45° or more, θ_(X) becomes the pitch angle (S795).

FIG. 8 is a flow chart specifically describing a roll angle calculation method used in the azimuth calculation method of FIG. 6. According to FIG. 8, first the output values of each acceleration sensor of X, Y and Z axes is normalized by mapping it with a value of a predetermined range (S810). The normalization can be performed using Equation 1.

As a result, if θ_(X), φ_(Y), θ_(Z) and φ_(Z) are primarily calculated (S815), it is determined if φ_(Y) is between 0° and 45° (S820). If φ_(Y) is between 0° and 45°, it is determined if φ_(Z) is 0° or more (S825). If φ_(Z) is 0° or more, φ_(Y) becomes the roll angle (S830). However, if φ_(Z) is under 0°, 180°−φ_(Y) becomes the roll angle (S835).

Meanwhile, if φ_(Y) is not between 0° and 45°, it is determined if φ_(Y) is 45° or more (S840). As a result, if φ_(Y) is 45° or more, it is determined if θ_(X) is under 45° (S845). If θ_(X) is under 45°, 90°−φ_(Z) becomes the roll angle (S850). Or, if θ_(X) is 45° or more, φ_(Y) becomes the roll angle (S855).

Meanwhile, if φ_(Y) is neither between 0° and 45° nor 45° or more, it is determined if φ_(Y) is between −45° and 0° (S860). If φ_(Y) is between −45° and 0°, it is determined if φ_(Z) is 0° or more (S865). If φ_(Z) is 0° or more, φ_(Z) becomes the roll angle (S870). Or, if φ_(Z) is under 0°, −180°−φ_(Y) becomes the roll angle (S875).

Meanwhile, if φ_(Y) is not between −45° and 0°, either, it is determined if φ_(Z) is under −45° (S880). Also, it is determined if θ_(X) is under 45° (S885). If θ_(X) is under 45°, φ_(Z)−90° becomes the roll angle (S890). Or, if θ_(Y) is 45° or more, φ_(Y) becomes the roll angle (S895).

Therefore, the pitch angle and roll angle are precisely calculated also in a region where the resolving power of an inverse tangent (ARCSIN) function decreases so that the azimuth can be compensated.

As can be appreciated from the above description, the pitch angle and roll angle are precisely calculated using 3-axis acceleration sensor. That is, the pitch angle and roll angle are primarily calculated using each acceleration sensor of X and Y axes, and the pitch angle and roll angle are readjusted by the second calculation using an output value of acceleration sensor of Z axis. Accordingly, even when the resolving power of the ADC is not high enough, the pitch angle and roll angle can be precisely calculated. Consequently, the azimuth can precisely be calculated. In addition, the range of measuring the pitch angle and roll angle is extended from ±90° to ±180°.

In addition to the above-described exemplary embodiments, exemplary embodiments of the present invention can also be implemented by executing computer readable code/instructions in/on a medium, e.g., a computer readable medium. The medium can correspond to any medium/media permitting the storing and/or transmission of the computer readable code.

The computer readable code/instructions can be recorded/transferred in/on a medium in a variety of ways, with examples of the medium including magnetic storage media (e.g., floppy disks, hard disks, magnetic tapes, etc.), optical recording media (e.g., CD-ROMs, or DVDs), magneto-optical media (e.g., floptical disks), hardware storage devices (e.g., read only memory media, random access memory media, flash memories, etc.) and storage/transmission media such as carrier waves transmitting signals, which may include instructions, data structures, etc. Examples of storage/transmission media may include wired and/or wireless transmission (such as transmission through the Internet). Examples of wired storage/transmission media may include optical wires and metallic wires. The medium/media may also be a distributed network, so that the computer readable code/instructions is stored/transferred and executed in a distributed fashion. The computer readable code/instructions may be executed by one or more processors.

Although a few exemplary embodiments of the present invention have been shown and described, it would be appreciated by those skilled in the art that changes may be made in these exemplary embodiments without departing from the principles and spirit of the invention, the scope of which is defined in the claims and their equivalents. 

1. A geomagnetic sensor, comprising: a geomagnetic measurement module including flux gates of X, Y and Z axes mutually crossing at right angles; a tilt measurement module including acceleration sensors of X, Y and Z axes mutually crossing at right angles; a tilt calculator primarily calculating a pitch angle and a roll angle using output values of each acceleration sensor of the X and Y axes, and performing second calculation by adjusting at least one of the primarily calculated pitch angle and roll angle using an output value of the acceleration sensor of the Z axis; and a controller calculating an azimuth using the adjusted pitch angle and roll angle and an output value of the geomagnetic measurement module.
 2. The geomagnetic sensor of claim 1, wherein the tilt measurement module normalizes the output values of each acceleration sensor of the X, Y and Z axes into values of a preset range using the following equations, and transmits the normalized values to the tilt calculator: ${AX}_{norm} = \frac{\left( {{AX}_{raw} - {AX}_{offset}} \right)}{{AX}_{Scale}}$ ${{AY}_{norm} = {\frac{\left( {{AY}_{raw} - {AY}_{offset}} \right)}{{AY}_{Scale}}\mspace{14mu}{and}}},{{AZ}_{norm} = \frac{\left( {{AZ}_{raw} - {AZ}_{offset}} \right)}{{AZ}_{Scale}}}$ where AX_(norm), AY_(norm) and AZ_(norm) are the normalized output values of each acceleration sensor of the X, Y and Z axes respectively, AX_(raw), AY_(raw) and AZ_(raw) are the real output values of each acceleration sensor of the X, Y and Z axes respectively, AX_(offset), AY_(offset) and AZ_(offset) are the preset offset values of each acceleration sensor of the X, Y and Z axes respectively, and AX_(Scale), AY_(Scale) and AZ_(Scale) are the preset scale values of each acceleration sensor of the X, Y and Z axes respectively.
 3. The geomagnetic sensor of claim 2, wherein the tilt calculator primarily calculates the pitch angle and roll angle using the following equations: $\begin{matrix} {\theta_{X} = {\sin^{- 1}\left( {AX}_{norm} \right)}} \\ {\phi_{Y} = {\sin^{- 1}\left( {{{AY}_{norm}/\cos}\;\theta_{X}} \right)}} \\ {\theta_{Z} = {{\sin^{- 1}\left( {AZ}_{mod} \right)}\left\{ {{wherein},\;{{AZ}_{mod} = \frac{{AZ}_{norm}}{\cos\;\phi_{Y}}}} \right\}\mspace{14mu}{and}}} \\ {\phi_{Z} = {{\sin^{- 1}\left( {{{AZ}_{mod}/\cos}\;\theta_{X}} \right)}\left\{ {{wherein},\;{{AZ}_{mod} = \frac{{AZ}_{norm}}{\cos\;\theta_{X}}}} \right\}}} \end{matrix},$ where θ_(X) is the pitch angle calculated using the acceleration sensor of the X axis, φ_(Y) is the roll angle calculated using the acceleration sensor of the Y axis, θ_(Z) is the pitch angle calculated using the acceleration sensor of the Z axis, and φ_(Z) is the roll angle calculated using the acceleration sensor of the Z axis.
 4. The geomagnetic sensor of claim 3, wherein the tilt calculator performs the second calculation in a manner that when the θ_(X) is between 0° and 45°, if the θ_(Z) is 0° or more, the θ_(X) becomes the pitch angle, or if the θ_(Z) is under 0°, 180°−θ_(X) becomes the pitch angle, when the θ_(X) is 45° or more, if φ_(Y) is under 45°, 90°−θ_(Z) becomes the pitch angle, or if the φ_(Y) is 45° or more, the θ_(X) becomes the pitch angle, when the θ_(X) is between −45° and 0°, if the θ_(Z) is 0° or more, the θ_(X) becomes the pitch angle, or if the θ_(Z) is under 0°, −180°−θ_(X) becomes the pitch angle, or when the θ_(X) is under −45°, if the φ_(Y) is under 45°, θ_(Z)−90° becomes the pitch angle, or if the φ_(Y) is 45° or more, the θ_(X) becomes the pitch angle.
 5. The geomagnetic sensor of claim 4, wherein the tilt calculator performs the second calculation in a manner that when the φ_(Y) is between 0° and 45°, if the φ_(Z) is 0° or more, the φ_(Y) becomes the roll angle, or if the φ_(Z) is under 0°, 180°−φ_(Y) becomes the roll angle, when the φ_(Y) is 45° or more, if the φ_(X) is under 45°, 90°−φ_(Z) becomes the roll angle, or if the θ_(X) is 45° or more, the φ_(Y) becomes the roll angle, when the φ_(Y) is between −45° and 0°, if the φ_(Z) is 0° or more, the φ_(Y) becomes the roll angle, or if the φ_(Z) is under 0°, −180°−φ_(Y) becomes the roll angle, or when the φ_(Y) is under −45°, if the θ_(X) is under 45°, φ_(Z)−90° becomes the roll angle, or if the θ_(X) is 45° or more, the φ_(Y) becomes the roll angle.
 6. The geomagnetic sensor of claim 1, wherein the geomagnetic measurement module normalizes the output values of each flux gate of the X, Y and Z axes into values of a preset range using the following equations, and provides the normalized values to the controller: $X_{norm} = \frac{\left( {X_{raw} - X_{offset}} \right)}{X_{Scale}}$ ${Y_{norm} = {\frac{\left( {Y_{raw} - Y_{offset}} \right)}{Y_{Scale}}\mspace{14mu}{and}}},{Z_{norm} = \frac{\left( {Z_{raw} - Z_{offset}} \right)}{Z_{Scale}}}$ where X_(norm), Y_(norm) and Z_(norm) are the normalized output values of each flux gate of the X, Y and Z axes respectively, X_(raw), Y_(raw) and Z_(raw) are the real output values of each flux gate of the X, Y and Z axes respectively, X_(offset), Y_(offset) and Z_(offset) are the preset offset values of each flux gate of the X, Y and Z axes respectively, and X_(Scale), Y_(Scale) and Z_(Scale) are the preset scale values of each flux gate of the X, Y and Z axes respectively.
 7. The geomagnetic sensor of claim 6, wherein the controller calculates the azimuth by applying the normalized output values of each flux gate of the X, Y and Z and the readjusted pitch angle and roll angle to the following equation: ${\psi = {\tan^{- 1}\left( \frac{{Y_{norm}*\cos\;\phi} - {Z_{norm}*\sin\;\phi}}{{X_{norm}*\cos\;\theta} - {Y_{norm}*\sin\;\theta*\sin\;\phi} - {Z_{norm}*\sin\;\theta*\cos\;\phi}} \right)}},$ where X_(norm), Y_(norm) and Z_(norm) are the normalized output values of each flux gate of the X, Y and Z axes respectively, θ is the pitch angle, and φ is the roll angle.
 8. A method of calculating an azimuth, comprising: (a) calculating output values of flux gates of X, Y and Z axes using the flux gates of the X, Y and Z axes mutually crossing at right angles; (b) primarily calculating a pitch angle and a roll angle using acceleration sensors of X, Y and Z axes mutually crossing at right angles; (c) adjusting at least one of the primarily calculated pitch angle and roll angle using an output value of the acceleration sensor of the Z axis; and (d) calculating the azimuth using the adjusted pitch angle and roll angle and an output value of a geomagnetic measurement module.
 9. The method of claim 8, wherein in the step of (b), the output values of each acceleration sensor of the X, Y and Z axes are normalized into values of a preset range using the following equations: ${AX}_{norm} = \frac{\left( {{AX}_{raw} - {AX}_{offset}} \right)}{{AX}_{Scale}}$ ${{AY}_{norm} = {\frac{\left( {{AY}_{raw} - {AY}_{offset}} \right)}{{AY}_{Scale}}\mspace{14mu}{and}}},{{AZ}_{norm} = \frac{\left( {{AZ}_{raw} - {AZ}_{offset}} \right)}{{AZ}_{Scale}}}$ where AX_(norm), AY_(norm) and AZ_(norm) are the normalized output values of each acceleration sensor of the X, Y and Z axes respectively, AX_(raw), AY_(raw) and AZ_(raw) are the real output values of each acceleration sensor of the X, Y and Z axes respectively, AX_(offset), AY_(offset) and AZ_(offset) are the preset offset values of each acceleration sensor of the X, Y and Z axes respectively, and AX_(Scale), AY_(Scale) and AZ_(Scale) are the preset scale values of each acceleration sensor of the X, Y and Z axes respectively.
 10. The method of claim 9, wherein in the step of (b), the pitch angle and roll angle are primarily calculated using the following equations: $\begin{matrix} {\theta_{X} = {\sin^{- 1}\left( {AX}_{norm} \right)}} \\ {\phi_{Y} = {\sin^{- 1}\left( {{{AY}_{norm}/\cos}\;\theta_{X}} \right)}} \\ {\theta_{Z} = {{\sin^{- 1}\left( {AZ}_{mod} \right)}\left\{ {{wherein},\;{{AZ}_{mod} = \frac{{AZ}_{norm}}{\cos\;\phi_{\; Y}}}} \right\}\mspace{14mu}{and}}} \\ {{\phi_{Z} = {{\sin^{- 1}\left( {{{AZ}_{mod}/\cos}\;\theta_{X}} \right)}\left\{ {{wherein},\;{{AZ}_{mod} = \frac{{AZ}_{norm}}{\cos\;\theta_{X}}}} \right\}}},} \end{matrix}$ where θ_(X) is the pitch angle calculated using the acceleration sensor of the X axis, φ_(Y) is the roll angle calculated using the acceleration sensor of the Y axis, θ_(Z) is the pitch angle calculated using the acceleration sensor of the Z axis, and φ_(Z) is the roll angle calculated using the acceleration sensor of the Z axis.
 11. The method of claim 10, wherein in the step of (c), the pitch angle is readjusted in a manner that when the θ_(X) is between 0° and 45°, if the θ_(Z) is 0° or more, the θ_(X) becomes the pitch angle, or if the θ_(Z) is under 0°, 180°−θ_(X) becomes the pitch angle, when the θ_(X) is 45° or more, if φ_(Y) is under 45°, 90°−θ_(Z) becomes the pitch angle, or if the φ_(Y) is 45° or more, the θ_(X) becomes the pitch angle, when the θ_(X) is between −45° and 0°, if the θ_(Z) is 0° or more, the θ_(X) becomes the pitch angle, or if the θ_(Z) is under 0°, −180°−θ_(X) becomes the pitch angle, or when the θ_(X) is under −45°, if the φ_(Y) is under 45°, θ_(Z)−90° becomes the pitch angle, or if the φ_(Y) is 45° or more, the θ_(X) becomes the pitch angle.
 12. The method of claim 11, wherein in the step of (c), the roll angle is readjusted in a manner that when the φ_(Y) is between 0° and 45°, if the φ_(Z) is 0° or more, the φ_(Z) becomes the roll angle, or if the φ_(Z) is under 0°, 180°−φ_(Y) becomes the roll angle, when the φ_(Y) is 45° or more, if the φ_(X) is under 45°, 90°−φ_(z) becomes the roll angle, or if the θ_(X) is 45° or more, the φ_(Y) becomes the roll angle, when the φ_(Y) is between −45° and 0°, if the φ_(Z) is 0° or more, the φ_(Y) becomes the roll angle, or if the φ_(Z) is under 0°, −180°−φ_(Y) becomes the roll angle, or when the φ_(Y) is under −45°, if the θ_(X) is under 45°, φ_(Z)−90° becomes the roll angle, or if the θ_(X) is 45° or more, the φ_(Y) becomes the roll angle.
 13. The method of claim 9, wherein in the step of (a), the output values of each flux gate of the X, Y and Z axes are normalized into values of a preset range using the following equations: $\begin{matrix} {X_{norm} = \frac{\left( {X_{raw} - X_{offset}} \right)}{X_{Scale}}} \\ {{Y_{norm} = {\frac{\left( {Y_{raw} - Y_{offset}} \right)}{Y_{Scale}}\mspace{14mu}{and}}},} \\ {Z_{norm} = \frac{\left( {Z_{raw} - Z_{offset}} \right)}{Z_{Scale}}} \end{matrix}$ where X_(norm), Y_(norm) and Z_(norm) are the normalized output values of each flux gate of the X, Y and Z axes respectively, X_(raw), Y_(raw) and Z_(raw) are the real output values of each flux gate of the X, Y and Z axes respectively, X_(offset), Y_(offset) and Z_(offset) are the preset offset values of each flux gate of the X, Y and Z axes respectively, and X_(Scale), Y_(Scale) and Z_(Scale) are the preset scale values of each flux gate of the X, Y and Z axes respectively.
 14. The method of claim 13, wherein in the step of (d), the azimuth is calculated by applying the normalized output values of each flux gate of the X, Y and Z and the readjusted pitch angle and roll angle to the following equation: ${\psi = {\tan^{- 1}\left( \frac{{Y_{norm}*\cos\;\phi} - {Z_{norm}*\sin\;\phi}}{{X_{norm}*\cos\;\theta} - {Y_{{norm}\;}*\sin\;\theta*\sin\;\phi} - {Z_{norm}*\sin\;\theta*\cos\;\phi}} \right)}},$ where X_(norm), Y_(norm) and Z_(norm) are the normalized output values of each flux gate of the X, Y and Z axes respectively, θ is the pitch angle, and φ is the roll angle.
 15. At least one computer readable medium storing instructions that control at least one processor to perform a method of calculating an azimuth, comprising: (a) calculating output values of flux gates of X, Y and Z axes using the flux gates of the X, Y and Z axes mutually crossing at right angles; (b) primarily calculating a pitch angle and a roll angle using acceleration sensors of X, Y and Z axes mutually crossing at right angles; (c) adjusting at least one of the primarily calculated pitch angle and roll angle using an output value of the acceleration sensor of the Z axis; and (d) calculating the azimuth using the adjusted pitch angle and roll angle and an output value of a geomagnetic measurement module.
 16. At least one computer readable medium as recited in claim 15, wherein in the step of (b), the output values of each acceleration sensor of the X, Y and Z axes are normalized into values of a preset range using the following equations: $\begin{matrix} {{AX}_{norm} = \frac{\left( {{AX}_{raw} - {AX}_{offset}} \right)}{{AX}_{Scale}}} \\ {{{AY}_{norm} = {\frac{\left( {{AY}_{raw} - {AY}_{offset}} \right)}{{AY}_{Scale}}\mspace{14mu}{and}}},} \\ {{AZ}_{norm} = \frac{\left( {{AZ}_{raw} - {AZ}_{offset}} \right)}{{AZ}_{Scale}}} \end{matrix}$ where AX_(norm), AY_(norm) and AZ_(norm) are the normalized output values of each acceleration sensor of the X, Y and Z axes respectively, AX_(raw), AY_(raw) and AZ_(raw) are the real output values of each acceleration sensor of the X, Y and Z axes respectively, AX_(offset), AY_(offset) and AZ_(offset) are the preset offset values of each acceleration sensor of the X, Y and Z axes respectively, and AX_(Scale), AY_(Scale) and AZ_(Scale) are the preset scale values of each acceleration sensor of the X, Y and Z axes respectively.
 17. At least one computer readable medium as recited in claim 16, wherein in the step of (b), the pitch angle and roll angle are primarily calculated using the following equations: $\begin{matrix} {\theta_{X} = {\sin^{- 1}\left( {AX}_{norm} \right)}} \\ {\phi_{Y} = {\sin^{- 1}\left( {{{AY}_{norm}/\cos}\;\theta_{X}} \right)}} \\ {\theta_{Z} = {{\sin^{- 1}\left( {AZ}_{mod} \right)}\left\{ {{wherein},\;{{AZ}_{mod} = \frac{{AZ}_{norm}}{\cos\;\phi_{\; Y}}}} \right\}\mspace{14mu}{and}}} \\ {{\phi_{Z} = {{\sin^{- 1}\left( {{{AZ}_{mod}/\cos}\;\theta_{X}} \right)}\left\{ {{wherein},\;{{AZ}_{mod} = \frac{{AZ}_{norm}}{\cos\;\theta_{X}}}} \right\}}},} \end{matrix}$ where θ_(X) is the pitch angle calculated using the acceleration sensor of the X axis, φ_(Y) is the roll angle calculated using the acceleration sensor of the Y axis, θ_(Z) is the pitch angle calculated using the acceleration sensor of the Z axis, and φ_(Z) is the roll angle calculated using the acceleration sensor of the Z axis.
 18. At least one computer readable medium as recited in claim 17, wherein in the step of (c), the pitch angle is readjusted in a manner that when the θ_(X) is between 0° and 45°, if the θ_(Z) is 0° or more, the θ_(X) becomes the pitch angle, or if the θ_(Z) is under 0°, 180°−θ_(X) becomes the pitch angle, when the θ_(X) is 45° or more, if φ_(Y) is under 45°, 90°−θ_(Z) becomes the pitch angle, or if the φ_(Y) is 45° or more, the θ_(X) becomes the pitch angle, when the θ_(X) is between −45° and 0°, if the θ_(Z) is 0° or more, the θ_(X) becomes the pitch angle, or if the θ_(Z) is under 0°, −180°−θ_(X) becomes the pitch angle, or when the θ_(X) is under −45°, if the φ_(Y) is under 45°, θ_(Z)−90° becomes the pitch angle, or if the φ_(Y) is 45° or more, the θ_(X) becomes the pitch angle.
 19. At least one computer readable medium as recited in claim 18, wherein in the step of (c), the roll angle is readjusted in a manner that when the φ_(Y) is between 0° and 45°, if the φ_(Z) is 0° or more, the φ_(Z) becomes the roll angle, or if the φ_(Z) is under 0°, 180°−φ_(Y) becomes the roll angle, when the φ_(Y) is 45° or more, if the φ_(X) is under 45°, 90°−φ_(Z) becomes the roll angle, or if the θ_(X) is 45° or more, the φ_(Y) becomes the roll angle, when the φ_(Y) is between −45° and 0°, if the φ_(Z) is 0° or more, the φ_(Y) becomes the roll angle, or if the φ_(Z) is under 0°, −180°−φ_(Y) becomes the roll angle, or when the φ_(Y) is under −45°, if the θ_(X) is under 45°, φ_(Z)−90° becomes the roll angle, or if the θ_(X) is 45° or more, the φ_(Y) becomes the roll angle.
 20. At least one computer readable medium as recited in 16, wherein in the step of (a), the output values of each flux gate of the X, Y and Z axes are normalized into values of a preset range using the following equations: $\begin{matrix} {X_{norm} = \frac{\left( {X_{raw} - X_{offset}} \right)}{X_{Scale}}} \\ {{Y_{norm} = {\frac{\left( {Y_{raw} - Y_{offset}} \right)}{Y_{Scale}}\mspace{14mu}{and}}},} \\ {Z_{norm} = \frac{\left( {Z_{raw} - Z_{offset}} \right)}{Z_{Scale}}} \end{matrix}$ where X_(norm), Y_(norm) and Z_(norm) are the normalized output values of each flux gate of the X, Y and Z axes respectively, X_(raw), Y_(raw) and Z_(raw) are the real output values of each flux gate of the X, Y and Z axes respectively, X_(offset), Y_(offset) and Z_(offset) are the preset offset values of each flux gate of the X, Y and Z axes respectively, and X_(Scale), Y_(Scale) and Z_(Scale) are the preset scale values of each flux gate of the X, Y and Z axes respectively.
 21. At least one computer readable medium as recited in 20, wherein in the step of (d), the azimuth is calculated by applying the normalized output values of each flux gate of the X, Y and Z and the readjusted pitch angle and roll angle to the following equation: ${\psi = {\tan^{- 1}\left( \frac{{Y_{norm}*\cos\;\phi} - {Z_{norm}*\sin\;\phi}}{{X_{norm}*\cos\;\theta} - {Y_{{norm}\;}*\sin\;\theta*\sin\;\phi} - {Z_{norm}*\sin\;\theta*\cos\;\phi}} \right)}},$ where X_(norm), Y_(norm) and Z_(norm) are the normalized output values of each flux gate of the X, Y and Z axes respectively, θ is the pitch angle, and φ is the roll angle.
 22. A geomagnetic sensor, comprising: a geomagnetic measurement module including flux gates of X, Y and Z axes mutually crossing at right angles; a tilt measurement module including acceleration sensors of X, Y and Z axes mutually crossing at right angles; a tilt calculator primarily calculating a pitch angle and a roll angle using output values of the acceleration sensors of the X and Y axes, and performing a second calculation by adjusting at least one of the primarily calculated pitch angle and roll angle according to a size of output values of the acceleration sensors of the X, Y and Z axes; and a controller calculating an azimuth using the adjusted at least one primarily calculated pitch angle and roll angle, and an output value of the geomagnetic measurement module.
 23. A method of calculating an azimuth, comprising: (a) calculating output values of flux gates of X, Y and Z axes using the flux gates of the X, Y and Z axes mutually crossing at right angles; (b) primarily calculating a pitch angle and a roll angle using acceleration sensors of X, and Y axes mutually crossing at right angles; (c) adjusting, after the primarily calculating a pitch angle and a roll angle, at least one of the primarily calculated pitch angle and roll angle according to a size of output values of the acceleration sensors of the X, and Y axes, and an acceleration sensor of the Z axis; and (d) calculating the azimuth using the adjusted pitch angle and roll angle and the output values of the flux gates.
 24. A computer readable medium storing instructions that control at least one processor to perform a method of calculating an azimuth, comprising: (a) calculating output values of flux gates of X, Y and Z axes using the flux gates of the X, Y and Z axes mutually crossing at right angles; (b) primarily calculating a pitch angle and a roll angle using acceleration sensors of X, Y and Z axes mutually crossing at right angles; (c) adjusting at least one of the primarily calculated pitch angle and roll angle according to a size of output values of the acceleration sensors of the X, Y and Z axes; and (d) calculating the azimuth using the adjusted pitch angle and roll angle and the output values of the flux gates. 